跳到主要内容

obsidian 目录排序

· 阅读需 2 分钟

引言

众所周知, 在 obsidian 中的目录和文件(以下简称目录或文件)默认是没办法自定义排序的.
毕竟在系统层面也是如此.

目前应用内的解决方案大体上分两种

  • 为自带的"文件列表"开发排序插件. 例如
    • Manual Sorting
    • Custom File Explorer sorting
  • 开发一个"文件列表"的替代品, 包含自定义排序功能. 例如
    • File Tree Alternative %% 一年以上未更新, 有一些问题, 功能一般, 兼容性还行 %%
    • MAKE.md %% 主打 database, 功能过于庞杂 %%
    • FolderFile Splitter %% 功能较少, 兼容性不足 %%
    • Notebook Navigator %% 功能相对全面, 兼容性待提升 %%

这两种方案几乎是不相容的.

所以, 对命名进行编号几乎是唯一可行的方案, 也是通用性最好的方案.

但是改变命名会牵扯到很多配置的修改.
并且通常我们还期望一套配置能够适用多个场景而无需变动.

所以, 这对我们的命名方案有极高要求.

编号命名排序法

理论上文件的命名比编程中的命名要宽松一些.
但为了保证跨平台的一致性, 建议仅用字母和数字(以及_, 仅连接用, 不要纠结其编码排序)

简化后的排序规则: 数字 > 字母(大写 > 小写, 但通常系统不会区分)

  • 00~9z
    • 00~0z
    • 10~8z
    • 90~9z
  • a0~zz %% 不稳定 %%

优先保持正常不变. 避免数字、字母选择的随意性, 并尽可能预留冲突扩展空间.

需求实例:

  1. 00_Inbox: 置顶?
  2. a0_Private
  3. b0_Jottings
  4. c0_Pages
  5. z6_Projects
  6. z7_Areas
  7. z8_Resources
  8. z9_Archives: 置底但需与 P.A.R.A. 一起 %% 为什么不能用 9x, 因为那样的话前面就只能是数字开头了 %%
  9. zz_Misc: 置底
  10. Ext: 置底?

最终的修改与效果

  • _Inbox: 移除了编号, 使其更加简洁稳定, 同时尽可能置顶(_可以确定在小写字母之前, 在自然排序下能在数字之前)
  • 01_Private: 为了超过 Archives, 只能改用数字, 并且为了不影响其他已有编号, 限定在 0 开头内(牺牲了扩展空间)
  • 02_Jottings: 同上
  • 03_Pages: 同上
  • Archives: 因为我不需要完整的 P.A.R.A., 所以这里的简化是 ok 的
  • Ext
  • Misc